package com.reebake.ideal.permission.entity;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
* 菜单
*
* @author : 彩花科技
* @date : 2025-2-6
*/
@Schema(name = "菜单", description = "")
@Data
public class MenuDTO implements Serializable {
   @Serial
   private static final long serialVersionUID = 1L;

   /** 主键 */
   @Schema(name = "主键", description = "")
   private String menuId;

   /** 名称;名称 */
   @Schema(name = "名称", description = "名称")
   private String name;

   /** 标题;i18n键值或标题 */
   @Schema(name = "标题", description = "i18n键值或标题")
   private String title;

   /** 菜单类型 */
   @Schema(name = "菜单类型", description = "")
   private String menuType;

   /** 父菜单编号 */
   @Schema(name = "父菜单编号", description = "")
   private String parentId;

   /** 权限码 */
   @Schema(name = "权限码", description = "")
   private String accessCode;

   /** 路径;前端路由 */
   @Schema(name = "路径", description = "前端路由")
   private String path;

   /** 组件;views下路径，以/起头，父节点填BasicLayout */
   @Schema(name = "组件", description = "views下路径，以/起头，父节点填BasicLayout")
   private String component;

   /** 图标 */
   @Schema(name = "图标", description = "")
   private String icon;

   /** 固定标签 */
   @Schema(name = "固定标签", description = "")
   private Boolean affixTab;

   /** 是否隐藏 */
   @Schema(name = "是否隐藏", description = "")
   private Boolean hiddenInMenu;

   /** 跳转地址 */
   @Schema(name = "跳转地址", description = "")
   private String redirect;

   /** 是否页面缓存 */
   @Schema(name = "是否页面缓存", description = "")
   private Boolean keepAlive;

   /** iframe地址 */
   @Schema(name = "iframe地址", description = "")
   private String iframeSrc;

   /** 外链地址 */
   @Schema(name = "外链地址", description = "")
   private String link;

   /** 菜单参数 */
   @Schema(name = "菜单参数", description = "")
   private String query;

   /** 在新窗口打开页面 */
   @Schema(name = "在新窗口打开页面", description = "")
   private Boolean openInNewWindow;

   /** 不使用基础布局 */
   @Schema(name = "不使用基础布局", description = "")
   private Boolean noBasicLayout;

   /** 是否忽略权限，直接可以访问 */
   @Schema(name = "是否忽略权限，直接可以访问", description = "")
   private Boolean ignoreAccess;

   /** 排序顺序 */
   @Schema(name = "排序顺序", description = "")
   private Integer orderNo;

   /** 状态 */
   @Schema(name = "状态", description = "")
   private String status;

   /** 是否叶子 */
   @Schema(name = "是否叶子", description = "")
   private Boolean isLeaf;

   /** 备注 */
   @Schema(name = "备注", description = "")
   private String remark;

}